/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Soligee.controller.bo;

import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeBuscarImplements;
import Soligee.model.vo.lancamentos.NFEntradaVO;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 *
 * @author Las
 */
public class ProdutoBO {

    public String determinaDataUltimaEntrada(int codAbuscar){
        try{
        //busca no banco a data da ultima entrada do codigo do produto passado
        SessionFacadeBuscarImplements facadeBusca = new SessionFacadeBuscarImplements();
        NFEntradaVO nf =  (NFEntradaVO)facadeBusca.buscaComItemCriteriosa("codProduto",codAbuscar,"produtos",NFEntradaVO.class).iterator().next();

        String novaData = "";
        //er para validar a data invertida
        Pattern erCompilada = Pattern.compile("[12][0-9]{3}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])");
        Matcher matcher = erCompilada.matcher(nf.getDataEmissao().toString());
        //verifica se a data esta msm invertida
        if (matcher.find()) {
            //separa por -
            StringTokenizer stringTokenizer = new StringTokenizer(matcher.group(), "-");
            String x[] = new String[3];
            //armazena os tokens no vetor
            for (int i = 0; i < 3; i++) {
                x[i] = stringTokenizer.nextToken();
            }//fim for
            //coloca as /
            for (int i = 2; i >= 0; i--) {
                if ((i == 1) || (i == 2)) {
                    novaData = novaData + x[i] + "/";
                } else {
                    novaData = novaData + x[i];
                }
            }//fim for
        }//fim if
        return novaData;
        }catch(Exception e){
            System.err.println("Erro produto bo: "+e.getMessage());
            return null;
        }
      }//fim metodo

}
